﻿using System;
using System.Collections.Generic;

namespace Wicture.EPC.Service.Benz.Models
{
    public class Model
    {
        public string id { get; set; }
        public string code { get; set; }
        public string marketId { get; set; }
        public string brandCode { get; set; }
        public string name { get; set; } // platformCode
        public string description { get; set; }
        public IEnumerable<GroupInfo> GroupItems { get; set; }
    }

    public class GroupInfo
    {
        public string code { get; set; }
        public string name { get; set; }
        public string img { get; set; }
    }

    public class ModelSelector
    {
        public string id { get; set; }
        public string step { get; set; }
        public string name { get; set; }
        public bool hasNext { get; set; }
        public int parentId { get; set; }
        public string filedName { get; set; }
        public string brandCode { get; set; }
        public string modelId { get; set; }
        public string objectCode { get; set; }
        public string objectName { get; set; }
        public string route { get; set; }
        public string code { get; set; }
        public string imageUrl { get; set; }
        public string selectorId { get; set; }
        public bool? isSelected { get; set; }
        public bool isBelongTo { set; get; } = true;
    }



    public class SyncModelSelectorStep1Param
    {
        public string brandCode { get; set; }

        public int modelId { get; set; }
        public string objectCode { get; set; }
        public string objectName { get; set; }
        public bool hasNext { get; set; }
    }

    public class VinFilterModel
    {

        public int modeId { get; set; }
        public int subGroupId { get; set; }
        public int commentId { get; set; }
        public string filter { get; set; }
        public string[] featureCodes { get; set; }
        public string tag { get; set; }
        public bool? isUse { get; set; }
    }

    public class VinPart
    {
        public string sn { get; set; }
        public int partId { get; set; }
        public int? commentId { get; set; }
    }
    public class modelDetail
    {
        public string modelCode { get; set; }
        public string catNum { get; set; }
        public string sequence { get; set; }
        public string frontax { get; set; }
        public string steer { get; set; }
        public string reaRax { get; set; }
        public string aBody { get; set; }
        public string DIST { get; set; }
        public string engine { get; set; }
        public string platFrm { get; set; }
        public string auto { get; set; }
        public string manual { get; set; }
        public string exhaustSys { get; set; }
    }

    public class HotPoint
    {
        public string url { get; set; }
        public string sn { get; set; }
        public string x { get; set; }
        public string y { get; set; }
        public string w { get; set; }
        public string h { get; set; }

    }

    public class FootNote
    {
        public string catNum { set; get; }
        public string groupNum { set; get; }
        public string FtntNum { set; get; }
        public string Abbr { set; get; }
        public string Text { set; get; }
        public int SeqNum { set; get; }
        public string Lang { set; get; }
    }

    public class ModelEntry
    {
        public int id { set; get; }
        public string carType { set; get; }
        public string aggType { set; get; }
        public string region { set; get; }
        public string type { set; get; }
        public string subbm1 { set; get; }
        public string subbm2 { set; get; }
        public string salesdes { set; get; }
        public string modelCode { set; get; }
        public string seriesName { set; get; }
        public string catNum { set; get; }
        public string remark { set; get; }
    }

    public class MainGroup
    {
        public string id { set; get; }
        public string catNum { set; get; }
        public string mainGroupCode { set; get; }
        public string mainGroupNameEn { set; get; }
        public string mainGroupNameZh { set; get; }

    }

    public class MainGroupForMachine
    {
        public string id { set; get; }
        public string catNum { set; get; }
        public string mainGroupCode { set; get; }
        public string mainGroupNameEn { set; get; }
        public string mainGroupNameZh { set; get; }
        public string modelCode { set; get; }
        public string imageUrl { set; get; }
        public string carType { set; get; }
    }

    public class Part
    {
        public int id { set; get; }
        public string partCode { set; get; }
        public string partName { set; get; }
        public string partNameEn { set; get; }
        public string remark { set; get; }
        public int? firstYear { set; get; }
        public int? lastYear { set; get; }
        public decimal? cost { set; get; }
        public decimal? price { set; get; }
        public string quantity { set; get; }
        public DateTime? priceUpdatedAt { set; get; }
        public string description { set; get; }
        public int? stock { get; set; }
    }
    public class PartCatalogResult : Query_PartsResult
    {
        public int subGroupId { set; get; }
        public string subGroupName { set; get; }
        public string mainGroupId { set; get; }
        public string mainGroupName { set; get; }
        public string sn { set; get; }
        public List<_imgs> imgs { get; set; }
        public string modelCode { set; get; }
        public string catNum { set; get; }
        public string standardCode { set; get; }
        public string standardName { set; get; }
    }

    public partial class _imgs
    {
        public string url { get; set; }
        public partial class _points
        {
            public string sn { get; set; }
            public string x { get; set; }
            public string y { get; set; }
            public string w { get; set; }
            public string h { get; set; }
        }
        public List<_points> points { get; set; }
    }
    public class PartCatalog
    {
        public string partCode { set; get; }
        public string partName { get; set; }
        public decimal? price { get; set; }
        public decimal? cost { get; set; }
        public DateTime? priceUpdatedAt { get; set; }
        public string replacedPartCodes { set; get; }
        public string priceFC { set; get; }
        public string marketCode { set; get; }
        public string marketName { set; get; }
        public bool? disabled { set; get; }
        public string standardCode { set; get; }
        public string standardName { set; get; }
        public partial class _group
        {
            public string partId { get; set; }
            public string mainGroupId { get; set; }
            public string mainGroupCode { get; set; }
            public string mainGroupName { get; set; }
            public string subGroupId { get; set; }
            public string subGroupCode { get; set; }
            public string subGroupName { get; set; }
            public string imageSN { get; set; }
            public string selectorId { set; get; }
            public string sn { set; get; }

            public List<_imgs> imgs { get; set; }
        }
        public List<_group> groups { get; set; }
    }

    public class MaintainPart
    {
        public string partCode { set; get; }
        public string standardCode { set; get; }
        public string standardName { set; get; }
    }
}
